package com.jxpanda.spring.module.wechat.component.message;


import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;


/**
 * @author Panda
 */
@SuppressWarnings("AlibabaLowerCamelCaseVariableNaming")
public final class WechatCallbackMessage {

    @JacksonXmlRootElement(localName = "xml")
    public record ReceiveWrapper(
            @JacksonXmlProperty(localName = "ToUserName") String toUserName,
            @JacksonXmlProperty(localName = "Encrypt") String encrypt,
            @JacksonXmlProperty(localName = "AgentID") String agentId
    ) {
    }

    @JacksonXmlRootElement(localName = "xml")
    public record ReplyWrapper(
            @JacksonXmlCData
            @JacksonXmlProperty(localName = "Encrypt") String encrypt,
            @JacksonXmlCData
            @JacksonXmlProperty(localName = "MsgSignature") String msgSignature,
            @JacksonXmlProperty(localName = "TimeStamp") String timestamp,
            @JacksonXmlCData
            @JacksonXmlProperty(localName = "Nonce") String nonce
    ) {
    }

}
